Mapeo clave/valor

Recientemente las bases de datos orientadas a clave/valor han aumentado en popularidad, en parte gracias a los sistemas de cloud computing como Amazon SimpleDB o Google BigTable, que proveen a los programadores de sistemas de almacenamiento sencillos. Concretamente, en el caso de SimpleDB (analizado en profundidad en ¿Qué hay detrás de Amazon SimpleDB?) todos los valores son almacenados como cadenas, lo cual, aunque en detrimento del rendimiento, simplifica la traducción objeto-base de datos.

En las bases de datos orientadas a clave/valor, las tablas de las relacionales son sustituidas por dominios donde se suceden las filas de pares clave-valor. Estas filas no tienen una estructura definida, por lo que podemos añadir o quitar propiedades arbitrariamente.

Por todo esto, el problema del tipado dinámico y variable de PHP puede ser solucionado en la traducción objeto-base de datos clave/valor. De este modo podemos utilizar las clases y objetos para definir la información —lo cual suele ser más cómodo para el desarrollador.

No obstante, el mapeo de objetos a clave/valor puede ser empleado en bases de datos de este tipo pero también en relacionales, orientadas a documentos o incluso en bases de datos semánticas, ya que el método para el mapeo es la descomposición de objetos, que describiremos a continuación.